#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#

#
# Copyright 2015 Garrett D'Amore <garrett@damore.org>
#

#
# Definitions found in unistd.h
#

#
# Types.
#
type | pid_t | unistd.h | POSIX+ SUS+

#
# Values.
#
# Note that the standard requires the user declare environ.
# value | environ | char ** | unistd.h | POSIX+ SUS+
value | _CS_PATH				| int | unistd.h | SUS+

value | _CS_POSIX_V6_ILP32_OFF32_CFLAGS		| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_ILP32_OFF32_LDFLAGS	| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_ILP32_OFF32_LIBS		| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS	| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS	| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_ILP32_OFFBIG_LIBS		| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_LP64_OFF64_CFLAGS		| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_LP64_OFF64_LDFLAGS		| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_LP64_OFF64_LIBS		| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS	| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS	| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_LPBIG_OFFBIG_LIBS		| int | unistd.h | SUSv3+
value | _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS	| int | unistd.h | SUSv3+

#
# Functions
#
func |	access							|\
	int							|\
	const char *; int					|\
	unistd.h | POSIX+ SUS+

func |	chown							|\
	int							|\
	const char *; uid_t; gid_t				|\
	unistd.h | POSIX+ SUS+

func |	execl							|\
	int							|\
	const char *; const char *				|\
	unistd.h | POSIX+ SUS+

func |	execle							|\
	int							|\
	const char *; const char *; char *; char *const []	|\
	unistd.h | POSIX+ SUS+

func |	execlp							|\
	int							|\
	const char *; const char *; char *			|\
	unistd.h | POSIX+ SUS+

func |	execv							|\
	int							|\
	const char *; char *const []				|\
	unistd.h | POSIX+ SUS+

func |	execve							|\
	int							|\
	const char *; char *const []; char *const []		|\
	unistd.h | POSIX+ SUS+

func |	execvp							|\
	int							|\
	const char *; char *const []				|\
	unistd.h | POSIX+ SUS+

func |	fchown							|\
	int							|\
	int; uid_t; gid_t					|\
	unistd.h | -POSIX+ SUS+

func |	fexecve							|\
	int							|\
	int; char *const []; char *const []			|\
	unistd.h | -ALL SUSv4+

func |	getlogin						|\
	char *							|\
	void							|\
	unistd.h | POSIX+ SUS+

func |	getlogin_r						|\
	int							|\
	char *; size_t						|\
	unistd.h | -POSIX+ -SUS+ +POSIX-1995+ SUSv2+

func |	getwd							|\
	char *							|\
	char *							|\
	unistd.h | -ALL SUS+ -SUSv4+

func |	lchown							|\
	int							|\
	const char *; uid_t; gid_t				|\
	unistd.h | -POSIX+ SUS+

func |	link							|\
	int							|\
	const char *; const char *				|\
	unistd.h | POSIX+ SUS+

# XPG3 may have put this here incorrectly (Open Group says no..., but...)
# Probably this is actually our error, and we should kill it, but we can
# do that when kill off XPG3 support altogether.
func |	rename							|\
	int							|\
	const char *; const char *				|\
	unistd.h | -POSIX+ +XPG3 -XPG4+

func |	symlink							|\
	int							|\
	const char *; const char *				|\
	unistd.h | -XPG3+ -POSIX+ SUS+

func |	ttyname							|\
	char *							|\
	int							|\
	unistd.h | POSIX+ SUS+

func |	ttyname_r						|\
	int							|\
	int; char *; size_t					|\
	unistd.h | -POSIX+ -SUS+ +POSIX-1995+ SUSv2+

func |	ualarm							|\
	int							|\
	useconds_t; useconds_t						|\
	unistd.h | -ALL SUS+ -SUSv4+

func |	unlink							|\
	int							|\
	const char *						|\
	unistd.h | POSIX+ XPG3+

func |	usleep							|\
	int							|\
	useconds_t						|\
	unistd.h | -ALL SUS+ -SUSv4+

func |	vfork							|\
	pid_t							|\
	void							|\
	unistd.h | -ALL SUS+ -SUSv4+
